package com.javaweb.web.service;

import java.util.List;

import jakarta.servlet.http.HttpServletResponse;

import com.javaweb.util.entity.Page;
import com.javaweb.web.eo.dbTables.DbTablesColumnListResponse;
import com.javaweb.web.eo.dbTables.DbTablesListRequest;
import com.javaweb.web.eo.dbTables.DbTablesOperateRequest;

/**
 * 数据库表模块业务层接口
 * 
 * @author tank2140896
 */
public interface DbTablesService {
	
	/**
	 * 数据库表列表业务层接口
	 * 
	 * @param dbTablesListRequest 数据库表列表请求参数
	 * @return Page 分页参数
	 */
	Page dbTablesList(DbTablesListRequest dbTablesListRequest);
	
	/**
	 * 获取数据库表信息业务层接口
	 * 
	 * @param tableName 表名
	 * @return List<DbTablesColumnListResponse> 数据库表信息列表
	 */
	List<DbTablesColumnListResponse> getTableColumnInfo(String tableName);
	
	/**
	 * 代码生成业务层接口
	 * 
	 * @param tableName 表名
	 * @param httpServletResponse httpServletResponse
	 */
	void codeGenerate(String tableName,HttpServletResponse httpServletResponse);
	
	/**
	 * 表还原业务层接口
	 */
	void dbTablesReduction();
	
	/**
	 * 数据库表操作业务层接口
	 * 
	 * @param dbTablesOperateRequest 数据库表操作请求参数
	 * @return Object 返回信息
	 */
	Object dbTablesOperate(DbTablesOperateRequest dbTablesOperateRequest);
	
}
